On Arm64 Linux kernel prints log for Xen version number:
Xen XEN_VERSION.XEN_SUBVERSION support found
The header file "xen/compile.h" is missed so that XEN_VERSION and
XEN_SUBVERSION are not defined, __stringify() wrongly converts them as
strings and concatenate to string "XEN_VERSION.XEN_SUBVERSION".
This patch introduces a string macro XEN_VERSION_STRING, we can directly
use it as version number string, as a result it drops to use of
__stringify() to make the code more readable.
The change has been tested on Ampere AVA Arm64 platform.
Fixes: 5d797ee199b3 ("xen/arm: split domain_build.c")
Suggested-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
* GNU General Public License for more details.
*/
+#include <xen/compile.h>
#include <xen/mm.h>
#include <xen/sched.h>
#include <xen/acpi.h>
struct membank tbl_add[])
{
const char compat[] =
- "xen,xen-"__stringify(XEN_VERSION)"."__stringify(XEN_SUBVERSION)"\0"
+ "xen,xen-" XEN_VERSION_STRING "\0"
"xen,xen";
int res;
/* Convenience alias */
int addrcells, int sizecells)
{
const char compat[] =
- "xen,xen-"__stringify(XEN_VERSION)"."__stringify(XEN_SUBVERSION)"\0"
+ "xen,xen-" XEN_VERSION_STRING "\0"
"xen,xen";
__be32 *reg, *cells;
gic_interrupt_t intr;
efi_console_set_mode();
}
- PrintStr(L"Xen " __stringify(XEN_VERSION) "." __stringify(XEN_SUBVERSION)
- XEN_EXTRAVERSION " (c/s " XEN_CHANGESET ") EFI loader\r\n");
+ PrintStr(L"Xen " XEN_VERSION_STRING XEN_EXTRAVERSION
+ " (c/s " XEN_CHANGESET ") EFI loader\r\n");
efi_arch_relocate_image(0);
#define XEN_VERSION @@version@@
#define XEN_SUBVERSION @@subversion@@
+#define XEN_VERSION_STRING "@@version@@.@@subversion@@"
#define XEN_EXTRAVERSION "@@extraversion@@"
#define XEN_CHANGESET "@@changeset@@"